//11. 盛最多水的容器
// 思路：在暴力解法中，是两层循环，这样就可以优化为 相对而行的双指针
// 这里考虑长和宽都要最大，因此不管left++, right--，都要保证宽最大
// 因此当left小于right时，left++，反之right--


#include <vector>
#include <algorithm>
using namespace std;

class Solution
{
public:
    int maxArea(vector<int>& height)
    {
        int left = 0, right = height.size() - 1;
        int capacity = 0;
        while(left < right)
        {
            int minHeight = min(height[left], height[right]);// 更新宽
            capacity = max(capacity, minHeight*(right-left));// 更新结果
            if(height[left] < height[right])
                left++;
            else
                right--;
        }
        return capacity;
    }
};